import java.util.*;

/**
 * @author LKQ
 * @date 2022/6/4 22:20
 * @description 哈希表
 */
public class Solution2 {
    public static void main(String[] args) {

    }
    public int numOfPairs(String[] nums, String target) {
        Map<String, Integer> map = new HashMap<>();
        for (String num: nums) {
            map.put(num, map.getOrDefault(num, 0) + 1);
        }
        int ans = 0, n = target.length();
        for (int i = 1; i < n; i++) {
            String p = target.substring(0, i), q = target.substring(i);
            int cnt = map.getOrDefault(p, 0);
            if (!p.equals(q)) {
                ans += cnt * map.getOrDefault(q, 0);
            }else {
                // 前缀和后缀相等，那么相当于从n个中取两个的排列
                ans += cnt * (cnt - 1);
            }
        }
        return ans;
    }
}
